-
Notifications
You must be signed in to change notification settings - Fork 892
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature gate arrow-flight client #5683
Conversation
The `tonic/transport` feature, which has large dependencies like hyper and axum, is gated by this.
I'm not against this, but just as an FYI it will need to wait for the next breaking release |
Taking another look at this I'm confused, transport is required both for clients and servers. Axum in particular is a dependency of the server implementation? |
Yes, in tonic, the |
My understanding of the tonic traits was that they were so low level that whilst in theory one could plugin an alternative this wasn't really practical. I'm still confused why this feature flag is called client when AFAICT it is required for servers and clients? The reason behind my hesitation is feature flags are a pain to maintain and test, so we only want to add them where there is real pain |
For arrow-flight it is truly only required for the high-level client, not for the server since My use-case would be to build a simple server by using That is to say, I have not been able to get my use case for this PR actually working. And once tonic upgrades to hyper 1.0 and http 1.0, I suppose the only unneeded dependency would be axum itself, and I wouldn't classify that as a 'real pain'. So I think it's fair if you'd rather not do this at this point. |
Heh, I figured something like that might be the case having gone down much the same rabbit hole myself, hence my question. Given that I suggest we keep this as a draft and revisit if tonic continues to not upgrade http. |
The latest tonic release has finally updated to http 1.0, so closing this |
The
tonic/transport
tonic feature, which has large dependencies like hyper and axum, is now feature gated by aclient
feature on thearrow-flight
crate. This allows users that only want the flight server to avoid dependency bloat.Which issue does this PR close?
Closes #5682.
Are there any user-facing changes?
This will break users who are using the client. The fix is for them to specify the new feature flag. I did not include the
client
feature in the default features, but I have no particular opinion there.